import axios from 'axios'
// import android from 'android'

// 4.第四种写法
export function request(config){
    // 1.创建axios实例
    const instance = axios.create({
        baseURL:'http://152.136.185.210:7878/api/m5',
        timeout: 5000
    })
    // 2.axios的拦截器
    // 2.1.请求拦截的作用
    instance.interceptors.request.use(config => {
        console.log(config);
        // 1.比如config中的一些不符合服务器的要求

        // 2.比如每次发送网络请求时，都希望在界面中显示一个请求图标

        // 3.某些网络请求（比如登录（token）），必须携带一些特殊的信息
        return config
    },err => {
        console.log(err);
    })

    // 2.2.响应拦截
    instance.interceptors.response.use(res => {
        // console.log(res);
        return res.data
    },err => {
        console.log(err);
    })
    // 发送真正的网络请求
    // instance(config)返回的值就是promise
    return instance(config)
        
}
    
   

// 3.第三种写法
// export function request(config){
//     return new Promise((resolve,reject) => {
//         // 1.创建axios实例
//         const instance = axios.create({
//             baseURL:'http://123.207.32.32:8000',
//             timeout: 5000
//         })
//         // 发送真正的网络请求
//         instance(config)
//             .then(res => {
//             resolve(res)
//         }).catch(err => {
//             reject(err)
//         })
//     })
// }

// 2.第二种写法
// export function request(config){
//     // 1.创建axios实例
//     const instance = axios.create({
//         baseURL:'http://123.207.32.32:8000',
//         timeout: 5000
//     })
//     // 发送真正的网络请求
//     instance(config.baseConfig)
//         .then(res => {
//         // console.log(res);
//         config.success(res);
//     }).catch(err => {
//         // console.log(err);
//         config.failure(err);
//     })
// }

// 1.第一种写法
// export function request(config, success, failure){
//     // 1.创建axios实例
//     const instance = axios.create({
//         baseURL:'http://123.207.32.32:8000',
//         timeout: 5000
//     })
//     // 发送真正的网络请求
//     instance(config).then(res => {
//         // console.log(res);
//         success(res)
//     }).catch(err => {
//         // console.log(err);
//         failure(err)
//     })
// }